Coquet: A Coq Library for Verifying Hardware
نویسنده
چکیده
We propose a new library to model and verify hardware circuits in the Coq proof assistant. This library allows one to easily build circuits by following the usual pen-and-paper diagrams. We define a deep-embedding: we use a (dependently typed) data-type that models the architecture of circuits, and a meaning function. We propose tactics that ease the reasoning about the behavior of the circuits, and we demonstrate that our approach is practicable by proving the correctness of various circuits: a text-book divide and conquer adder of parametric size, some higher-order combinators of circuits, and some sequential circuits: a buffer, and a register.
منابع مشابه
Formal Veriication of Microprocessors: a Rst Experiment with the Coq Proof Assistant
We propose in this paper a study of the Coq proof assistant for formally verifying microprocessors. We show that interactive proofs with Coq are only required to verify complex instructions of microprocessors. We give our speciication and veriication methodology and some details about the word library developed in Coq. Two full examples show additional speciication and veriication aspects. We a...
متن کاملRefinements to techniques for verifying shape analysis invariants in Coq
We describe the PEDANTIC framework for verifying the correctness of C-like programs using Coq. PEDANTIC is designed to prove invariants over complex dynamic data structures such as interreferencing trees and linked lists. The PEDANTIC tactic library has been constructed to allow program verifications to be done with reasonably compact proofs. We introduce a couple of important innovations. Firs...
متن کاملCoq and Hardware Verification: A Case Study
We present, on the example of a left-to-right comparator, several approaches for verifying a class of circuits with the Coq proof-assistant. The great expressiveness of the Calculus of Inductive Constructions allows us to give precise and general speciications. Thanks to Coq's higher-order logic, we state general results for establishing the correctness of such circuits. Finally, exploiting the...
متن کاملVerifying an Algorithm Computing Discrete Vector Fields for Digital Imaging
In this paper, we present a formalization of an algorithm to construct admissible discrete vector fields in the Coq theorem prover taking advantage of the SSReflect library. Discrete vector fields are a tool which has been welcomed in the homological analysis of digital images since it provides a procedure to reduce the amount of information but preserving the homological properties. In particu...
متن کاملA general formal memory framework in Coq for verifying the properties of programs based on higher-order logic theorem proving with increased automation, consistency, and reusability
In recent years, a number of lightweight programs have been deployed in critical domains, such as in smart contracts based on blockchain technology. Therefore, the security and reliability of such programs should be guaranteed by the most credible technology. Higher-order logic theorem proving is one of the most reliable technologies for verifying the properties of programs. However, programs m...
متن کامل